﻿using Basic.FormModel.DB;
using Basic.FormModel.PhyQuery;
using Basic.FormRemoteModel;

namespace Basic.FormCollect
{
    public interface IPhysicalQueryCollect
    {
        long Add ( PhyQueryAdd data );

        void Clear ( long formId );

        void Delete ( DBPhysicalQueryLayout obj );

        DBPhysicalQueryLayout Get ( long id );

        Result[] GetsByFormId<Result> ( long formId ) where Result : class, new();
        Result[] GetsByFormId<Result> ( long formId, LayoutLocation location ) where Result : class, new();
        void SetSort ( KeyValuePair<long, int>[] sets );
        bool Update ( DBPhysicalQueryLayout source, PhyQuerySet set );
    }
}